
debugger=

for i
do case "$1" in
   -d) debugger=$2; shift; shift
       ;;
   *)  break
       ;;
   esac
done

if [ $debugger ]; then
  dbgname=`basename $debugger`
else
  dbgname=
fi

case "$dbgname" in
  gdb) lcmd=$1; shift
       if [ -f $HOME/.gdbinit ]; then
         cat $HOME/.gdbinit          > /tmp/linda_sh.$$
       else
         :                           > /tmp/linda_sh.$$
       fi
       echo "handle SIGPOLL nostop" >> /tmp/linda_sh.$$
       echo "set args $*"           >> /tmp/linda_sh.$$
       echo "echo When ready to execute, type \"run\" with no arguments\\n" \
                                    >> /tmp/linda_sh.$$
       exec xterm -T "master `basename $lcmd`" \
         -n `basename $lcmd` \
         -e $debugger -quiet -nx -x /tmp/linda_sh.$$ $lcmd
       ;;
  dbx) lcmd=$1; shift
       if [ -f $HOME/.dbxinit ]; then
         cat $HOME/.dbxinit          > /tmp/linda_sh.$$
       else
         :                           > /tmp/linda_sh.$$
       fi
       echo "ignore io "             >> /tmp/linda_sh.$$
       echo "alias lrun \"run $*\"" >> /tmp/linda_sh.$$
       exec xterm -T "master `basename $lcmd`" \
         -n `basename $lcmd` \
         -e $debugger -sr /tmp/linda_sh.$$ $lcmd
       ;;
  pgdbg) lcmd=$1; shift
       if [ -f $HOME/.pgdbgrc ]; then
         cat $HOME/.pgdbgrc          > /tmp/linda_sh.$$
       else
         :                           > /tmp/linda_sh.$$
       fi
       echo "ignore io "             >> /tmp/linda_sh.$$
       echo "alias lrun \"run $*\"" >> /tmp/linda_sh.$$
       exec xterm -T "master `basename $lcmd`" \
         -n `basename $lcmd` \
         -e $debugger -s /tmp/linda_sh.$$ $lcmd
       ;;
   linda_dbx*) lcmd=$1; shift
        exec xterm -T "master `basename $lcmd`" \
          -n `basename $lcmd` \
          -e $debugger $lcmd $*
        ;;
  *)   exec "$@"
       ;;
esac
